/content/yolov7
2025-12-04 17:24:54.202099: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:467] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1764869094.443639 4509 cuda_dnn.cc:8579] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered
E0000 00:00:1764869094.510767 4509 cuda_blas.cc:1407] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered
W0000 00:00:1764869095.023503 4509 computation_placer.cc:177] computation placer already registered. Please check linkage and avoid linking the same target more than once.
W0000 00:00:1764869095.023552 4509 computation_placer.cc:177] computation placer already registered. Please check linkage and avoid linking the same target more than once.
W0000 00:00:1764869095.023557 4509 computation_placer.cc:177] computation placer already registered. Please check linkage and avoid linking the same target more than once.
W0000 00:00:1764869095.023561 4509 computation_placer.cc:177] computation placer already registered. Please check linkage and avoid linking the same target more than once.
2025-12-04 17:24:55.071495: I tensorflow/core/platform/cpu_feature_guard.cc:210] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
YOLOR 🚀 v0.1-128-ga207844 torch 2.5.1+cu124 CUDA:0 (Tesla T4, 15095.0625MB)
Namespace(weights='yolov7-tiny.pt', cfg='cfg/training/yolov7-tiny.yaml', data='/content/yolov7/self_driving_data.yaml', hyp='data/hyp.scratch.p5.yaml', epochs=5, batch_size=4, img_size=[512, 512], rect=False, resume=False, nosave=False, notest=False, noautoanchor=False, evolve=False, bucket='', cache_images=False, image_weights=False, device='', multi_scale=False, single_cls=False, adam=False, sync_bn=False, local_rank=-1, workers=8, project='runs/train', entity=None, name='car-vision-yolov7-finetune', exist_ok=False, quad=False, linear_lr=False, label_smoothing=0.0, upload_dataset=False, bbox_interval=-1, save_period=-1, artifact_alias='latest', freeze=[0], v5_metric=False, world_size=1, global_rank=-1, save_dir='runs/train/car-vision-yolov7-finetune', total_batch_size=4)
[34m[1mtensorboard: [0mStart with 'tensorboard --logdir runs/train', view at http://localhost:6006/
[34m[1mhyperparameters: [0mlr0=0.01, lrf=0.1, momentum=0.937, weight_decay=0.0005, warmup_epochs=3.0, warmup_momentum=0.8, warmup_bias_lr=0.1, box=0.05, cls=0.3, cls_pw=1.0, obj=0.7, obj_pw=1.0, iou_t=0.2, anchor_t=4.0, fl_gamma=0.0, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, degrees=0.0, translate=0.2, scale=0.9, shear=0.0, perspective=0.0, flipud=0.0, fliplr=0.5, mosaic=1.0, mixup=0.15, copy_paste=0.0, paste_in=0.15, loss_ota=1
[34m[1mwandb[0m: (1) Create a W&B account
[34m[1mwandb[0m: (2) Use an existing W&B account
[34m[1mwandb[0m: (3) Don't visualize my results
[34m[1mwandb[0m: Enter your choice: 3
[34m[1mwandb[0m: You chose "Don't visualize my results"
[34m[1mwandb[0m: [33mWARNING[0m `resume` will be ignored since W&B syncing is set to `offline`. Starting a new run with run id k2otranj.
[34m[1mwandb[0m: Tracking run with wandb version 0.23.0
[34m[1mwandb[0m: W&B syncing is set to [1m`offline`[0m in this directory. Run [1m`wandb online`[0m or set [1mWANDB_MODE=online[0m to enable cloud syncing.
[34m[1mwandb[0m: Run data is saved locally in [35m[1m/content/yolov7/wandb/offline-run-20251204_172517-k2otranj[0m
Overriding model.yaml nc=80 with nc=11
from n params module arguments
0 -1 1 928 models.common.Conv [3, 32, 3, 2, None, 1, LeakyReLU(negative_slope=0.1)]
1 -1 1 18560 models.common.Conv [32, 64, 3, 2, None, 1, LeakyReLU(negative_slope=0.1)]
2 -1 1 2112 models.common.Conv [64, 32, 1, 1, None, 1, LeakyReLU(negative_slope=0.1)]
3 -2 1 2112 models.common.Conv [64, 32, 1, 1, None, 1, LeakyReLU(negative_slope=0.1)]
4 -1 1 9280 models.common.Conv [32, 32, 3, 1, None, 1, LeakyReLU(negative_slope=0.1)]
5 -1 1 9280 models.common.Conv [32, 32, 3, 1, None, 1, LeakyReLU(negative_slope=0.1)]
6 [-1, -2, -3, -4] 1 0 models.common.Concat [1]
7 -1 1 8320 models.common.Conv [128, 64, 1, 1, None, 1, LeakyReLU(negative_slope=0.1)]
8 -1 1 0 models.common.MP []
9 -1 1 4224 models.common.Conv [64, 64, 1, 1, None, 1, LeakyReLU(negative_slope=0.1)]
10 -2 1 4224 models.common.Conv [64, 64, 1, 1, None, 1, LeakyReLU(negative_slope=0.1)]
11 -1 1 36992 models.common.Conv [64, 64, 3, 1, None, 1, LeakyReLU(negative_slope=0.1)]
12 -1 1 36992 models.common.Conv [64, 64, 3, 1, None, 1, LeakyReLU(negative_slope=0.1)]
13 [-1, -2, -3, -4] 1 0 models.common.Concat [1]
14 -1 1 33024 models.common.Conv [256, 128, 1, 1, None, 1, LeakyReLU(negative_slope=0.1)]
15 -1 1 0 models.common.MP []
16 -1 1 16640 models.common.Conv [128, 128, 1, 1, None, 1, LeakyReLU(negative_slope=0.1)]
17 -2 1 16640 models.common.Conv [128, 128, 1, 1, None, 1, LeakyReLU(negative_slope=0.1)]
18 -1 1 147712 models.common.Conv [128, 128, 3, 1, None, 1, LeakyReLU(negative_slope=0.1)]
19 -1 1 147712 models.common.Conv [128, 128, 3, 1, None, 1, LeakyReLU(negative_slope=0.1)]
20 [-1, -2, -3, -4] 1 0 models.common.Concat [1]
21 -1 1 131584 models.common.Conv [512, 256, 1, 1, None, 1, LeakyReLU(negative_slope=0.1)]
22 -1 1 0 models.common.MP []
23 -1 1 66048 models.common.Conv [256, 256, 1, 1, None, 1, LeakyReLU(negative_slope=0.1)]
24 -2 1 66048 models.common.Conv [256, 256, 1, 1, None, 1, LeakyReLU(negative_slope=0.1)]
25 -1 1 590336 models.common.Conv [256, 256, 3, 1, None, 1, LeakyReLU(negative_slope=0.1)]
26 -1 1 590336 models.common.Conv [256, 256, 3, 1, None, 1, LeakyReLU(negative_slope=0.1)]
27 [-1, -2, -3, -4] 1 0 models.common.Concat [1]
28 -1 1 525312 models.common.Conv [1024, 512, 1, 1, None, 1, LeakyReLU(negative_slope=0.1)]
29 -1 1 131584 models.common.Conv [512, 256, 1, 1, None, 1, LeakyReLU(negative_slope=0.1)]
30 -2 1 131584 models.common.Conv [512, 256, 1, 1, None, 1, LeakyReLU(negative_slope=0.1)]
31 -1 1 0 models.common.SP [5]
32 -2 1 0 models.common.SP [9]
33 -3 1 0 models.common.SP [13]
34 [-1, -2, -3, -4] 1 0 models.common.Concat [1]
35 -1 1 262656 models.common.Conv [1024, 256, 1, 1, None, 1, LeakyReLU(negative_slope=0.1)]
36 [-1, -7] 1 0 models.common.Concat [1]
37 -1 1 131584 models.common.Conv [512, 256, 1, 1, None, 1, LeakyReLU(negative_slope=0.1)]
38 -1 1 33024 models.common.Conv [256, 128, 1, 1, None, 1, LeakyReLU(negative_slope=0.1)]
39 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest']
40 21 1 33024 models.common.Conv [256, 128, 1, 1, None, 1, LeakyReLU(negative_slope=0.1)]
41 [-1, -2] 1 0 models.common.Concat [1]
42 -1 1 16512 models.common.Conv [256, 64, 1, 1, None, 1, LeakyReLU(negative_slope=0.1)]
43 -2 1 16512 models.common.Conv [256, 64, 1, 1, None, 1, LeakyReLU(negative_slope=0.1)]
44 -1 1 36992 models.common.Conv [64, 64, 3, 1, None, 1, LeakyReLU(negative_slope=0.1)]
45 -1 1 36992 models.common.Conv [64, 64, 3, 1, None, 1, LeakyReLU(negative_slope=0.1)]
46 [-1, -2, -3, -4] 1 0 models.common.Concat [1]
47 -1 1 33024 models.common.Conv [256, 128, 1, 1, None, 1, LeakyReLU(negative_slope=0.1)]
48 -1 1 8320 models.common.Conv [128, 64, 1, 1, None, 1, LeakyReLU(negative_slope=0.1)]
49 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest']
50 14 1 8320 models.common.Conv [128, 64, 1, 1, None, 1, LeakyReLU(negative_slope=0.1)]
51 [-1, -2] 1 0 models.common.Concat [1]
52 -1 1 4160 models.common.Conv [128, 32, 1, 1, None, 1, LeakyReLU(negative_slope=0.1)]
53 -2 1 4160 models.common.Conv [128, 32, 1, 1, None, 1, LeakyReLU(negative_slope=0.1)]
54 -1 1 9280 models.common.Conv [32, 32, 3, 1, None, 1, LeakyReLU(negative_slope=0.1)]
55 -1 1 9280 models.common.Conv [32, 32, 3, 1, None, 1, LeakyReLU(negative_slope=0.1)]
56 [-1, -2, -3, -4] 1 0 models.common.Concat [1]
57 -1 1 8320 models.common.Conv [128, 64, 1, 1, None, 1, LeakyReLU(negative_slope=0.1)]
58 -1 1 73984 models.common.Conv [64, 128, 3, 2, None, 1, LeakyReLU(negative_slope=0.1)]
59 [-1, 47] 1 0 models.common.Concat [1]
60 -1 1 16512 models.common.Conv [256, 64, 1, 1, None, 1, LeakyReLU(negative_slope=0.1)]
61 -2 1 16512 models.common.Conv [256, 64, 1, 1, None, 1, LeakyReLU(negative_slope=0.1)]
62 -1 1 36992 models.common.Conv [64, 64, 3, 1, None, 1, LeakyReLU(negative_slope=0.1)]
63 -1 1 36992 models.common.Conv [64, 64, 3, 1, None, 1, LeakyReLU(negative_slope=0.1)]
64 [-1, -2, -3, -4] 1 0 models.common.Concat [1]
65 -1 1 33024 models.common.Conv [256, 128, 1, 1, None, 1, LeakyReLU(negative_slope=0.1)]
66 -1 1 295424 models.common.Conv [128, 256, 3, 2, None, 1, LeakyReLU(negative_slope=0.1)]
67 [-1, 37] 1 0 models.common.Concat [1]
68 -1 1 65792 models.common.Conv [512, 128, 1, 1, None, 1, LeakyReLU(negative_slope=0.1)]
69 -2 1 65792 models.common.Conv [512, 128, 1, 1, None, 1, LeakyReLU(negative_slope=0.1)]
70 -1 1 147712 models.common.Conv [128, 128, 3, 1, None, 1, LeakyReLU(negative_slope=0.1)]
71 -1 1 147712 models.common.Conv [128, 128, 3, 1, None, 1, LeakyReLU(negative_slope=0.1)]
72 [-1, -2, -3, -4] 1 0 models.common.Concat [1]
73 -1 1 131584 models.common.Conv [512, 256, 1, 1, None, 1, LeakyReLU(negative_slope=0.1)]
74 57 1 73984 models.common.Conv [64, 128, 3, 1, None, 1, LeakyReLU(negative_slope=0.1)]
75 65 1 295424 models.common.Conv [128, 256, 3, 1, None, 1, LeakyReLU(negative_slope=0.1)]
76 73 1 1180672 models.common.Conv [256, 512, 3, 1, None, 1, LeakyReLU(negative_slope=0.1)]
77 [74, 75, 76] 1 44192 models.yolo.IDetect [11, [[10, 13, 16, 30, 33, 23], [30, 61, 62, 45, 59, 119], [116, 90, 156, 198, 373, 326]], [128, 256, 512]]
/usr/local/lib/python3.12/dist-packages/torch/functional.py:534: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3595.)
return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]
Model Summary: 263 layers, 6042048 parameters, 6042048 gradients, 13.3 GFLOPS
Transferred 330/344 items from yolov7-tiny.pt
Scaled weight_decay = 0.0005
Optimizer groups: 58 .bias, 58 conv.weight, 61 other
[34m[1mtrain: [0mScanning '/content/data/yolov7/train/labels' images and labels... 595 found, 0 missing, 1 empty, 0 corrupted: 10% 595/5960 [00:00<00:01, 3001.95it/s][34m[1mtrain: [0mWARNING: Ignoring corrupted image and/or label /content/data/yolov7/train/images/1478021875081281646_jpg.rf.e9552980cf8c6fef4aa02cb84c6364f5.jpg: duplicate labels
[34m[1mtrain: [0mScanning '/content/data/yolov7/train/labels' images and labels... 3622 found, 0 missing, 522 empty, 1 corrupted: 61% 3622/5960 [00:01<00:00, 3477.17it/s][34m[1mtrain: [0mWARNING: Ignoring corrupted image and/or label /content/data/yolov7/train/images/1478898145212453716_jpg.rf.6a92d7d7dd523160c990c4e4375bcea9.jpg: duplicate labels
[34m[1mtrain: [0mScanning '/content/data/yolov7/train/labels' images and labels... 5960 found, 0 missing, 702 empty, 2 corrupted: 100% 5960/5960 [00:01<00:00, 3399.58it/s]
[34m[1mtrain: [0mNew cache created: /content/data/yolov7/train/labels.cache
[34m[1mval: [0mScanning '/content/data/yolov7/valid/labels' images and labels... 783 found, 0 missing, 133 empty, 0 corrupted: 53% 783/1490 [00:00<00:00, 1954.74it/s][34m[1mval: [0mWARNING: Ignoring corrupted image and/or label /content/data/yolov7/valid/images/1478897760163798179_jpg.rf.98623be50b02ff17d58f89fddf7a0c6c.jpg: duplicate labels
[34m[1mval: [0mScanning '/content/data/yolov7/valid/labels' images and labels... 1490 found, 0 missing, 175 empty, 1 corrupted: 100% 1490/1490 [00:00<00:00, 2170.60it/s]
[34m[1mval: [0mNew cache created: /content/data/yolov7/valid/labels.cache
[34m[1mautoanchor: [0mAnalyzing anchors... anchors/target = 4.97, Best Possible Recall (BPR) = 0.9996
/content/yolov7/train.py:299: FutureWarning: `torch.cuda.amp.GradScaler(args...)` is deprecated. Please use `torch.amp.GradScaler('cuda', args...)` instead.
scaler = amp.GradScaler(enabled=cuda)
Image sizes 512 train, 512 test
Using 2 dataloader workers
Logging results to runs/train/car-vision-yolov7-finetune
Starting training for 5 epochs...
Epoch gpu_mem box obj cls total labels img_size
0% 0/1490 [00:00<?, ?it/s]/content/yolov7/train.py:360: FutureWarning: `torch.cuda.amp.autocast(args...)` is deprecated. Please use `torch.amp.autocast('cuda', args...)` instead.
with amp.autocast(enabled=cuda):
0/4 0.218G 0.06749 0.009839 0.01568 0.09301 28 512: 100% 1490/1490 [03:53<00:00, 6.39it/s]
Class Images Labels P R mAP@.5 mAP@.5:.95: 100% 187/187 [00:18<00:00, 10.30it/s]
all 1489 9727 0.468 0.186 0.119 0.0413
Epoch gpu_mem box obj cls total labels img_size
1/4 0.562G 0.05175 0.009165 0.009161 0.07007 23 512: 100% 1490/1490 [03:31<00:00, 7.04it/s]
Class Images Labels P R mAP@.5 mAP@.5:.95: 100% 187/187 [00:17<00:00, 10.81it/s]
all 1489 9727 0.639 0.222 0.194 0.0799
Epoch gpu_mem box obj cls total labels img_size
2/4 0.661G 0.04772 0.008976 0.007336 0.06403 86 512: 100% 1490/1490 [03:26<00:00, 7.22it/s]
Class Images Labels P R mAP@.5 mAP@.5:.95: 100% 187/187 [00:16<00:00, 11.23it/s]
all 1489 9727 0.411 0.24 0.21 0.0866
Epoch gpu_mem box obj cls total labels img_size
3/4 0.661G 0.04437 0.008801 0.00622 0.05939 5 512: 100% 1490/1490 [03:22<00:00, 7.36it/s]
Class Images Labels P R mAP@.5 mAP@.5:.95: 100% 187/187 [00:16<00:00, 11.56it/s]
all 1489 9727 0.459 0.306 0.251 0.11
Epoch gpu_mem box obj cls total labels img_size
4/4 0.661G 0.04324 0.008666 0.005979 0.05788 7 512: 100% 1490/1490 [03:22<00:00, 7.35it/s]
Class Images Labels P R mAP@.5 mAP@.5:.95: 100% 187/187 [00:18<00:00, 9.95it/s]
all 1489 9727 0.519 0.281 0.271 0.121
biker 1489 220 0 0 0.0463 0.0151
car 1489 6399 0.645 0.756 0.757 0.409
pedestrian 1489 1063 0.469 0.315 0.295 0.101
trafficLight 1489 256 0.187 0.152 0.152 0.0605
trafficLight-Green 1489 521 0.523 0.43 0.343 0.108
trafficLight-GreenLeft 1489 29 1 0 0.0103 0.00478
trafficLight-Red 1489 666 0.435 0.548 0.45 0.158
trafficLight-RedLeft 1489 166 0.474 0.00602 0.141 0.0627
trafficLight-Yellow 1489 28 1 0 0.00734 0.00273
truck 1489 379 0.461 0.599 0.51 0.285
5 epochs completed in 0.321 hours.
/content/yolov7/utils/general.py:802: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.
x = torch.load(f, map_location=torch.device('cpu'))
Optimizer stripped from runs/train/car-vision-yolov7-finetune/weights/last.pt, 12.3MB
Optimizer stripped from runs/train/car-vision-yolov7-finetune/weights/best.pt, 12.3MB
Images sizes do not match. This will causes images to be display incorrectly in the UI.
[34m[1mwandb[0m:
[34m[1mwandb[0m: Run history:
[34m[1mwandb[0m: metrics/mAP_0.5 ▁▄▅▇█
[34m[1mwandb[0m: metrics/mAP_0.5:0.95 ▁▄▅▇█
[34m[1mwandb[0m: metrics/precision ▃█▁▂▄
[34m[1mwandb[0m: metrics/recall ▁▃▄█▇
[34m[1mwandb[0m: train/box_loss █▃▂▁▁
[34m[1mwandb[0m: train/cls_loss █▃▂▁▁
[34m[1mwandb[0m: train/obj_loss █▄▃▂▁
[34m[1mwandb[0m: val/box_loss █▃▃▂▁
[34m[1mwandb[0m: val/cls_loss █▄▃▂▁
[34m[1mwandb[0m: val/obj_loss ▁█▆▇█
[34m[1mwandb[0m: +3 ...
[34m[1mwandb[0m:
[34m[1mwandb[0m: Run summary:
[34m[1mwandb[0m: metrics/mAP_0.5 0.27121
[34m[1mwandb[0m: metrics/mAP_0.5:0.95 0.12064
[34m[1mwandb[0m: metrics/precision 0.51941
[34m[1mwandb[0m: metrics/recall 0.28062
[34m[1mwandb[0m: train/box_loss 0.04324
[34m[1mwandb[0m: train/cls_loss 0.00598
[34m[1mwandb[0m: train/obj_loss 0.00867
[34m[1mwandb[0m: val/box_loss 0.06693
[34m[1mwandb[0m: val/cls_loss 0.01501
[34m[1mwandb[0m: val/obj_loss 0.02313
[34m[1mwandb[0m: +3 ...
[34m[1mwandb[0m:
[34m[1mwandb[0m: You can sync this run to the cloud by running:
[34m[1mwandb[0m: [1mwandb sync /content/yolov7/wandb/offline-run-20251204_172517-k2otranj[0m
[34m[1mwandb[0m: Find logs at: [35m[1m./wandb/offline-run-20251204_172517-k2otranj/logs[0m